

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0366 */
/* at Wed Jan 21 17:17:30 2009
 */
/* Compiler settings for IviFgenTypeLib.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __IviFgenTypeLib_h__
#define __IviFgenTypeLib_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IIviFgen_FWD_DEFINED__
#define __IIviFgen_FWD_DEFINED__
typedef interface IIviFgen IIviFgen;
#endif 	/* __IIviFgen_FWD_DEFINED__ */


#ifndef __IIviFgenOutput_FWD_DEFINED__
#define __IIviFgenOutput_FWD_DEFINED__
typedef interface IIviFgenOutput IIviFgenOutput;
#endif 	/* __IIviFgenOutput_FWD_DEFINED__ */


#ifndef __IIviFgenStandardWaveform_FWD_DEFINED__
#define __IIviFgenStandardWaveform_FWD_DEFINED__
typedef interface IIviFgenStandardWaveform IIviFgenStandardWaveform;
#endif 	/* __IIviFgenStandardWaveform_FWD_DEFINED__ */


#ifndef __IIviFgenArbitrary_FWD_DEFINED__
#define __IIviFgenArbitrary_FWD_DEFINED__
typedef interface IIviFgenArbitrary IIviFgenArbitrary;
#endif 	/* __IIviFgenArbitrary_FWD_DEFINED__ */


#ifndef __IIviFgenArbitraryWaveform_FWD_DEFINED__
#define __IIviFgenArbitraryWaveform_FWD_DEFINED__
typedef interface IIviFgenArbitraryWaveform IIviFgenArbitraryWaveform;
#endif 	/* __IIviFgenArbitraryWaveform_FWD_DEFINED__ */


#ifndef __IIviFgenArbitrarySequence_FWD_DEFINED__
#define __IIviFgenArbitrarySequence_FWD_DEFINED__
typedef interface IIviFgenArbitrarySequence IIviFgenArbitrarySequence;
#endif 	/* __IIviFgenArbitrarySequence_FWD_DEFINED__ */


#ifndef __IIviFgenTrigger_FWD_DEFINED__
#define __IIviFgenTrigger_FWD_DEFINED__
typedef interface IIviFgenTrigger IIviFgenTrigger;
#endif 	/* __IIviFgenTrigger_FWD_DEFINED__ */


#ifndef __IIviFgenAM_FWD_DEFINED__
#define __IIviFgenAM_FWD_DEFINED__
typedef interface IIviFgenAM IIviFgenAM;
#endif 	/* __IIviFgenAM_FWD_DEFINED__ */


#ifndef __IIviFgenFM_FWD_DEFINED__
#define __IIviFgenFM_FWD_DEFINED__
typedef interface IIviFgenFM IIviFgenFM;
#endif 	/* __IIviFgenFM_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 


#ifndef __IviFgenLib_LIBRARY_DEFINED__
#define __IviFgenLib_LIBRARY_DEFINED__

/* library IviFgenLib */
/* [helpfile][helpstring][version][uuid] */ 










typedef /* [helpcontext][helpstring] */ 
enum IviFgenErrorCodesEnum
    {	E_IVIFGEN_TRIGGER_NOT_SOFTWARE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x1001),
	E_IVIFGEN_NO_WFMS_AVAILABLE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x2004),
	E_IVIFGEN_WFM_IN_USE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x2008),
	E_IVIFGEN_NO_SEQS_AVAILABLE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x2009),
	E_IVIFGEN_SEQ_IN_USE	= ( HRESULT  )(( unsigned long  )1 << 31 | ( unsigned long  )4 << 16 | ( unsigned long  )0x200d)
    } 	;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenOutputModeEnum
    {	IviFgenOutputModeFunction	= 0,
	IviFgenOutputModeArbitrary	= 1,
	IviFgenOutputModeSequence	= 2
    } 	IviFgenOutputModeEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenReferenceClockSourceEnum
    {	IviFgenReferenceClockSourceInternal	= 0,
	IviFgenReferenceClockSourceExternal	= 1,
	IviFgenReferenceClockSourceRTSI	= 101
    } 	IviFgenReferenceClockSourceEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenOperationModeEnum
    {	IviFgenOperationModeContinuous	= 0,
	IviFgenOperationModeBurst	= 1
    } 	IviFgenOperationModeEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenWaveformEnum
    {	IviFgenWaveformSine	= 1,
	IviFgenWaveformSquare	= 2,
	IviFgenWaveformTriangle	= 3,
	IviFgenWaveformRampUp	= 4,
	IviFgenWaveformRampDown	= 5,
	IviFgenWaveformDC	= 6
    } 	IviFgenWaveformEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenTriggerSourceEnum
    {	IviFgenTriggerSourceExternal	= 1,
	IviFgenTriggerSourceSoftware	= 2,
	IviFgenTriggerSourceInternal	= 3,
	IviFgenTriggerSourceTTL0	= 111,
	IviFgenTriggerSourceTTL1	= 112,
	IviFgenTriggerSourceTTL2	= 113,
	IviFgenTriggerSourceTTL3	= 114,
	IviFgenTriggerSourceTTL4	= 115,
	IviFgenTriggerSourceTTL5	= 116,
	IviFgenTriggerSourceTTL6	= 117,
	IviFgenTriggerSourceTTL7	= 118,
	IviFgenTriggerSourceECL0	= 119,
	IviFgenTriggerSourceECL1	= 120,
	IviFgenTriggerSourcePXIStar	= 131,
	IviFgenTriggerSourceRTSI0	= 141,
	IviFgenTriggerSourceRTSI1	= 142,
	IviFgenTriggerSourceRTSI2	= 143,
	IviFgenTriggerSourceRTSI3	= 144,
	IviFgenTriggerSourceRTSI4	= 145,
	IviFgenTriggerSourceRTSI5	= 146,
	IviFgenTriggerSourceRTSI6	= 147
    } 	IviFgenTriggerSourceEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenAMSourceEnum
    {	IviFgenAMSourceInternal	= 0,
	IviFgenAMSourceExternal	= 1
    } 	IviFgenAMSourceEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenAMInternalWaveformEnum
    {	IviFgenAMInternalWaveformSine	= 1,
	IviFgenAMInternalWaveformSquare	= 2,
	IviFgenAMInternalWaveformTriangle	= 3,
	IviFgenAMInternalWaveformRampUp	= 4,
	IviFgenAMInternalWaveformRampDown	= 5
    } 	IviFgenAMInternalWaveformEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenFMSourceEnum
    {	IviFgenFMSourceInternal	= 0,
	IviFgenFMSourceExternal	= 1
    } 	IviFgenFMSourceEnum;

typedef /* [helpcontext][helpstring][v1_enum][public] */ 
enum IviFgenFMInternalWaveformEnum
    {	IviFgenFMInternalWaveformSine	= 1,
	IviFgenFMInternalWaveformSquare	= 2,
	IviFgenFMInternalWaveformTriangle	= 3,
	IviFgenFMInternalWaveformRampUp	= 4,
	IviFgenFMInternalWaveformRampDown	= 5
    } 	IviFgenFMInternalWaveformEnum;


EXTERN_C const IID LIBID_IviFgenLib;

#ifndef __IIviFgen_INTERFACE_DEFINED__
#define __IIviFgen_INTERFACE_DEFINED__

/* interface IIviFgen */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgen;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521a-a398-11d4-ba58-000064657374")
    IIviFgen : public IIviDriver
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE InitiateGeneration( void) = 0;
        
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE AbortGeneration( void) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Output( 
            /* [retval][out] */ IIviFgenOutput **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Trigger( 
            /* [retval][out] */ IIviFgenTrigger **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StandardWaveform( 
            /* [retval][out] */ IIviFgenStandardWaveform **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arbitrary( 
            /* [retval][out] */ IIviFgenArbitrary **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AM( 
            /* [retval][out] */ IIviFgenAM **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FM( 
            /* [retval][out] */ IIviFgenFM **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgen * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgen * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgen * This);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DriverOperation )( 
            IIviFgen * This,
            /* [retval][out] */ IIviDriverOperation **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Identity )( 
            IIviFgen * This,
            /* [retval][out] */ IIviDriverIdentity **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Utility )( 
            IIviFgen * This,
            /* [retval][out] */ IIviDriverUtility **pVal);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Initialize )( 
            IIviFgen * This,
            /* [in] */ BSTR ResourceName,
            /* [in] */ VARIANT_BOOL IdQuery,
            /* [in] */ VARIANT_BOOL Reset,
            /* [optional][in] */ BSTR OptionString);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Initialized )( 
            IIviFgen * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IIviFgen * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *InitiateGeneration )( 
            IIviFgen * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *AbortGeneration )( 
            IIviFgen * This);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Output )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenOutput **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Trigger )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenTrigger **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StandardWaveform )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenStandardWaveform **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arbitrary )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenArbitrary **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AM )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenAM **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FM )( 
            IIviFgen * This,
            /* [retval][out] */ IIviFgenFM **pVal);
        
        END_INTERFACE
    } IIviFgenVtbl;

    interface IIviFgen
    {
        CONST_VTBL struct IIviFgenVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgen_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgen_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgen_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgen_get_DriverOperation(This,pVal)	\
    (This)->lpVtbl -> get_DriverOperation(This,pVal)

#define IIviFgen_get_Identity(This,pVal)	\
    (This)->lpVtbl -> get_Identity(This,pVal)

#define IIviFgen_get_Utility(This,pVal)	\
    (This)->lpVtbl -> get_Utility(This,pVal)

#define IIviFgen_Initialize(This,ResourceName,IdQuery,Reset,OptionString)	\
    (This)->lpVtbl -> Initialize(This,ResourceName,IdQuery,Reset,OptionString)

#define IIviFgen_get_Initialized(This,pVal)	\
    (This)->lpVtbl -> get_Initialized(This,pVal)

#define IIviFgen_Close(This)	\
    (This)->lpVtbl -> Close(This)


#define IIviFgen_InitiateGeneration(This)	\
    (This)->lpVtbl -> InitiateGeneration(This)

#define IIviFgen_AbortGeneration(This)	\
    (This)->lpVtbl -> AbortGeneration(This)

#define IIviFgen_get_Output(This,pVal)	\
    (This)->lpVtbl -> get_Output(This,pVal)

#define IIviFgen_get_Trigger(This,pVal)	\
    (This)->lpVtbl -> get_Trigger(This,pVal)

#define IIviFgen_get_StandardWaveform(This,pVal)	\
    (This)->lpVtbl -> get_StandardWaveform(This,pVal)

#define IIviFgen_get_Arbitrary(This,pVal)	\
    (This)->lpVtbl -> get_Arbitrary(This,pVal)

#define IIviFgen_get_AM(This,pVal)	\
    (This)->lpVtbl -> get_AM(This,pVal)

#define IIviFgen_get_FM(This,pVal)	\
    (This)->lpVtbl -> get_FM(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgen_InitiateGeneration_Proxy( 
    IIviFgen * This);


void __RPC_STUB IIviFgen_InitiateGeneration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgen_AbortGeneration_Proxy( 
    IIviFgen * This);


void __RPC_STUB IIviFgen_AbortGeneration_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_Output_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenOutput **pVal);


void __RPC_STUB IIviFgen_get_Output_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_Trigger_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenTrigger **pVal);


void __RPC_STUB IIviFgen_get_Trigger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_StandardWaveform_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenStandardWaveform **pVal);


void __RPC_STUB IIviFgen_get_StandardWaveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_Arbitrary_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenArbitrary **pVal);


void __RPC_STUB IIviFgen_get_Arbitrary_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_AM_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenAM **pVal);


void __RPC_STUB IIviFgen_get_AM_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgen_get_FM_Proxy( 
    IIviFgen * This,
    /* [retval][out] */ IIviFgenFM **pVal);


void __RPC_STUB IIviFgen_get_FM_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgen_INTERFACE_DEFINED__ */


#ifndef __IIviFgenOutput_INTERFACE_DEFINED__
#define __IIviFgenOutput_INTERFACE_DEFINED__

/* interface IIviFgenOutput */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenOutput;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521b-a398-11d4-ba58-000064657374")
    IIviFgenOutput : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Impedance( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Impedance( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OutputMode( 
            /* [in] */ IviFgenOutputModeEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OutputMode( 
            /* [retval][out] */ IviFgenOutputModeEnum *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_OperationMode( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenOperationModeEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OperationMode( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenOperationModeEnum *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ReferenceClockSource( 
            /* [in] */ IviFgenReferenceClockSourceEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ReferenceClockSource( 
            /* [retval][out] */ IviFgenReferenceClockSourceEnum *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [in] */ LONG Index,
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenOutputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenOutput * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenOutput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenOutput * This);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Impedance )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Impedance )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OutputMode )( 
            IIviFgenOutput * This,
            /* [in] */ IviFgenOutputModeEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OutputMode )( 
            IIviFgenOutput * This,
            /* [retval][out] */ IviFgenOutputModeEnum *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OperationMode )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenOperationModeEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OperationMode )( 
            IIviFgenOutput * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenOperationModeEnum *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReferenceClockSource )( 
            IIviFgenOutput * This,
            /* [in] */ IviFgenReferenceClockSourceEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReferenceClockSource )( 
            IIviFgenOutput * This,
            /* [retval][out] */ IviFgenReferenceClockSourceEnum *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IIviFgenOutput * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IIviFgenOutput * This,
            /* [in] */ LONG Index,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IIviFgenOutputVtbl;

    interface IIviFgenOutput
    {
        CONST_VTBL struct IIviFgenOutputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenOutput_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenOutput_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenOutput_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenOutput_put_Enabled(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Enabled(This,ChannelName,newVal)

#define IIviFgenOutput_get_Enabled(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Enabled(This,ChannelName,pVal)

#define IIviFgenOutput_put_Impedance(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Impedance(This,ChannelName,newVal)

#define IIviFgenOutput_get_Impedance(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Impedance(This,ChannelName,pVal)

#define IIviFgenOutput_put_OutputMode(This,newVal)	\
    (This)->lpVtbl -> put_OutputMode(This,newVal)

#define IIviFgenOutput_get_OutputMode(This,pVal)	\
    (This)->lpVtbl -> get_OutputMode(This,pVal)

#define IIviFgenOutput_put_OperationMode(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_OperationMode(This,ChannelName,newVal)

#define IIviFgenOutput_get_OperationMode(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_OperationMode(This,ChannelName,pVal)

#define IIviFgenOutput_put_ReferenceClockSource(This,newVal)	\
    (This)->lpVtbl -> put_ReferenceClockSource(This,newVal)

#define IIviFgenOutput_get_ReferenceClockSource(This,pVal)	\
    (This)->lpVtbl -> get_ReferenceClockSource(This,pVal)

#define IIviFgenOutput_get_Count(This,pVal)	\
    (This)->lpVtbl -> get_Count(This,pVal)

#define IIviFgenOutput_get_Name(This,Index,pVal)	\
    (This)->lpVtbl -> get_Name(This,Index,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_put_Enabled_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IIviFgenOutput_put_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_Enabled_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IIviFgenOutput_get_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_put_Impedance_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenOutput_put_Impedance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_Impedance_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenOutput_get_Impedance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_put_OutputMode_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ IviFgenOutputModeEnum newVal);


void __RPC_STUB IIviFgenOutput_put_OutputMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_OutputMode_Proxy( 
    IIviFgenOutput * This,
    /* [retval][out] */ IviFgenOutputModeEnum *pVal);


void __RPC_STUB IIviFgenOutput_get_OutputMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_put_OperationMode_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenOperationModeEnum newVal);


void __RPC_STUB IIviFgenOutput_put_OperationMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_OperationMode_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ IviFgenOperationModeEnum *pVal);


void __RPC_STUB IIviFgenOutput_get_OperationMode_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_put_ReferenceClockSource_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ IviFgenReferenceClockSourceEnum newVal);


void __RPC_STUB IIviFgenOutput_put_ReferenceClockSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_ReferenceClockSource_Proxy( 
    IIviFgenOutput * This,
    /* [retval][out] */ IviFgenReferenceClockSourceEnum *pVal);


void __RPC_STUB IIviFgenOutput_get_ReferenceClockSource_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_Count_Proxy( 
    IIviFgenOutput * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenOutput_get_Count_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenOutput_get_Name_Proxy( 
    IIviFgenOutput * This,
    /* [in] */ LONG Index,
    /* [retval][out] */ BSTR *pVal);


void __RPC_STUB IIviFgenOutput_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenOutput_INTERFACE_DEFINED__ */


#ifndef __IIviFgenStandardWaveform_INTERFACE_DEFINED__
#define __IIviFgenStandardWaveform_INTERFACE_DEFINED__

/* interface IIviFgenStandardWaveform */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenStandardWaveform;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521c-a398-11d4-ba58-000064657374")
    IIviFgenStandardWaveform : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Configure( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenWaveformEnum Waveform,
            /* [in] */ DOUBLE Amplitude,
            /* [in] */ DOUBLE DCOffset,
            /* [in] */ DOUBLE Frequency,
            /* [in] */ DOUBLE StartPhase) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DutyCycleHigh( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DutyCycleHigh( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Amplitude( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Amplitude( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DCOffset( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DCOffset( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Frequency( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Frequency( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_StartPhase( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_StartPhase( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Waveform( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenWaveformEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Waveform( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenWaveformEnum *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenStandardWaveformVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenStandardWaveform * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenStandardWaveform * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Configure )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenWaveformEnum Waveform,
            /* [in] */ DOUBLE Amplitude,
            /* [in] */ DOUBLE DCOffset,
            /* [in] */ DOUBLE Frequency,
            /* [in] */ DOUBLE StartPhase);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DutyCycleHigh )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DutyCycleHigh )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Amplitude )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Amplitude )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DCOffset )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DCOffset )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Frequency )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Frequency )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartPhase )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartPhase )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Waveform )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenWaveformEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waveform )( 
            IIviFgenStandardWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenWaveformEnum *pVal);
        
        END_INTERFACE
    } IIviFgenStandardWaveformVtbl;

    interface IIviFgenStandardWaveform
    {
        CONST_VTBL struct IIviFgenStandardWaveformVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenStandardWaveform_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenStandardWaveform_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenStandardWaveform_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenStandardWaveform_Configure(This,ChannelName,Waveform,Amplitude,DCOffset,Frequency,StartPhase)	\
    (This)->lpVtbl -> Configure(This,ChannelName,Waveform,Amplitude,DCOffset,Frequency,StartPhase)

#define IIviFgenStandardWaveform_put_DutyCycleHigh(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_DutyCycleHigh(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_DutyCycleHigh(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_DutyCycleHigh(This,ChannelName,pVal)

#define IIviFgenStandardWaveform_put_Amplitude(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Amplitude(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_Amplitude(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Amplitude(This,ChannelName,pVal)

#define IIviFgenStandardWaveform_put_DCOffset(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_DCOffset(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_DCOffset(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_DCOffset(This,ChannelName,pVal)

#define IIviFgenStandardWaveform_put_Frequency(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Frequency(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_Frequency(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Frequency(This,ChannelName,pVal)

#define IIviFgenStandardWaveform_put_StartPhase(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_StartPhase(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_StartPhase(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_StartPhase(This,ChannelName,pVal)

#define IIviFgenStandardWaveform_put_Waveform(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Waveform(This,ChannelName,newVal)

#define IIviFgenStandardWaveform_get_Waveform(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Waveform(This,ChannelName,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_Configure_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenWaveformEnum Waveform,
    /* [in] */ DOUBLE Amplitude,
    /* [in] */ DOUBLE DCOffset,
    /* [in] */ DOUBLE Frequency,
    /* [in] */ DOUBLE StartPhase);


void __RPC_STUB IIviFgenStandardWaveform_Configure_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_DutyCycleHigh_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_DutyCycleHigh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_DutyCycleHigh_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_DutyCycleHigh_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_Amplitude_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_Amplitude_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_Amplitude_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_Amplitude_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_DCOffset_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_DCOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_DCOffset_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_DCOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_Frequency_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_Frequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_Frequency_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_Frequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_StartPhase_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_StartPhase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_StartPhase_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_StartPhase_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_put_Waveform_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenWaveformEnum newVal);


void __RPC_STUB IIviFgenStandardWaveform_put_Waveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenStandardWaveform_get_Waveform_Proxy( 
    IIviFgenStandardWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ IviFgenWaveformEnum *pVal);


void __RPC_STUB IIviFgenStandardWaveform_get_Waveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenStandardWaveform_INTERFACE_DEFINED__ */


#ifndef __IIviFgenArbitrary_INTERFACE_DEFINED__
#define __IIviFgenArbitrary_INTERFACE_DEFINED__

/* interface IIviFgenArbitrary */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenArbitrary;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521d-a398-11d4-ba58-000064657374")
    IIviFgenArbitrary : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE ClearMemory( void) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Gain( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Gain( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Offset( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Offset( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SampleRate( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SampleRate( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sequence( 
            /* [retval][out] */ IIviFgenArbitrarySequence **pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Waveform( 
            /* [retval][out] */ IIviFgenArbitraryWaveform **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenArbitraryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenArbitrary * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenArbitrary * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenArbitrary * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *ClearMemory )( 
            IIviFgenArbitrary * This);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Gain )( 
            IIviFgenArbitrary * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Gain )( 
            IIviFgenArbitrary * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Offset )( 
            IIviFgenArbitrary * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Offset )( 
            IIviFgenArbitrary * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SampleRate )( 
            IIviFgenArbitrary * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SampleRate )( 
            IIviFgenArbitrary * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Sequence )( 
            IIviFgenArbitrary * This,
            /* [retval][out] */ IIviFgenArbitrarySequence **pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Waveform )( 
            IIviFgenArbitrary * This,
            /* [retval][out] */ IIviFgenArbitraryWaveform **pVal);
        
        END_INTERFACE
    } IIviFgenArbitraryVtbl;

    interface IIviFgenArbitrary
    {
        CONST_VTBL struct IIviFgenArbitraryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenArbitrary_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenArbitrary_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenArbitrary_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenArbitrary_ClearMemory(This)	\
    (This)->lpVtbl -> ClearMemory(This)

#define IIviFgenArbitrary_put_Gain(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Gain(This,ChannelName,newVal)

#define IIviFgenArbitrary_get_Gain(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Gain(This,ChannelName,pVal)

#define IIviFgenArbitrary_put_Offset(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Offset(This,ChannelName,newVal)

#define IIviFgenArbitrary_get_Offset(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Offset(This,ChannelName,pVal)

#define IIviFgenArbitrary_put_SampleRate(This,newVal)	\
    (This)->lpVtbl -> put_SampleRate(This,newVal)

#define IIviFgenArbitrary_get_SampleRate(This,pVal)	\
    (This)->lpVtbl -> get_SampleRate(This,pVal)

#define IIviFgenArbitrary_get_Sequence(This,pVal)	\
    (This)->lpVtbl -> get_Sequence(This,pVal)

#define IIviFgenArbitrary_get_Waveform(This,pVal)	\
    (This)->lpVtbl -> get_Waveform(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_ClearMemory_Proxy( 
    IIviFgenArbitrary * This);


void __RPC_STUB IIviFgenArbitrary_ClearMemory_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_put_Gain_Proxy( 
    IIviFgenArbitrary * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenArbitrary_put_Gain_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_get_Gain_Proxy( 
    IIviFgenArbitrary * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenArbitrary_get_Gain_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_put_Offset_Proxy( 
    IIviFgenArbitrary * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenArbitrary_put_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_get_Offset_Proxy( 
    IIviFgenArbitrary * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenArbitrary_get_Offset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_put_SampleRate_Proxy( 
    IIviFgenArbitrary * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenArbitrary_put_SampleRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_get_SampleRate_Proxy( 
    IIviFgenArbitrary * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenArbitrary_get_SampleRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_get_Sequence_Proxy( 
    IIviFgenArbitrary * This,
    /* [retval][out] */ IIviFgenArbitrarySequence **pVal);


void __RPC_STUB IIviFgenArbitrary_get_Sequence_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrary_get_Waveform_Proxy( 
    IIviFgenArbitrary * This,
    /* [retval][out] */ IIviFgenArbitraryWaveform **pVal);


void __RPC_STUB IIviFgenArbitrary_get_Waveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenArbitrary_INTERFACE_DEFINED__ */


#ifndef __IIviFgenArbitraryWaveform_INTERFACE_DEFINED__
#define __IIviFgenArbitraryWaveform_INTERFACE_DEFINED__

/* interface IIviFgenArbitraryWaveform */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenArbitraryWaveform;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521f-a398-11d4-ba58-000064657374")
    IIviFgenArbitraryWaveform : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Configure( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG Handle,
            /* [in] */ DOUBLE Gain,
            /* [in] */ DOUBLE Offset) = 0;
        
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Clear( 
            /* [in] */ LONG Handle) = 0;
        
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ SAFEARRAY * *Data,
            /* [retval][out] */ LONG *Handle) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Frequency( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Frequency( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberWaveformsMax( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Quantum( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SizeMax( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SizeMin( 
            /* [retval][out] */ LONG *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenArbitraryWaveformVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenArbitraryWaveform * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenArbitraryWaveform * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Configure )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG Handle,
            /* [in] */ DOUBLE Gain,
            /* [in] */ DOUBLE Offset);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ LONG Handle);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ SAFEARRAY * *Data,
            /* [retval][out] */ LONG *Handle);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Frequency )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Frequency )( 
            IIviFgenArbitraryWaveform * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberWaveformsMax )( 
            IIviFgenArbitraryWaveform * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Quantum )( 
            IIviFgenArbitraryWaveform * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SizeMax )( 
            IIviFgenArbitraryWaveform * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SizeMin )( 
            IIviFgenArbitraryWaveform * This,
            /* [retval][out] */ LONG *pVal);
        
        END_INTERFACE
    } IIviFgenArbitraryWaveformVtbl;

    interface IIviFgenArbitraryWaveform
    {
        CONST_VTBL struct IIviFgenArbitraryWaveformVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenArbitraryWaveform_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenArbitraryWaveform_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenArbitraryWaveform_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenArbitraryWaveform_Configure(This,ChannelName,Handle,Gain,Offset)	\
    (This)->lpVtbl -> Configure(This,ChannelName,Handle,Gain,Offset)

#define IIviFgenArbitraryWaveform_Clear(This,Handle)	\
    (This)->lpVtbl -> Clear(This,Handle)

#define IIviFgenArbitraryWaveform_Create(This,Data,Handle)	\
    (This)->lpVtbl -> Create(This,Data,Handle)

#define IIviFgenArbitraryWaveform_put_Frequency(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Frequency(This,ChannelName,newVal)

#define IIviFgenArbitraryWaveform_get_Frequency(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Frequency(This,ChannelName,pVal)

#define IIviFgenArbitraryWaveform_get_NumberWaveformsMax(This,pVal)	\
    (This)->lpVtbl -> get_NumberWaveformsMax(This,pVal)

#define IIviFgenArbitraryWaveform_get_Quantum(This,pVal)	\
    (This)->lpVtbl -> get_Quantum(This,pVal)

#define IIviFgenArbitraryWaveform_get_SizeMax(This,pVal)	\
    (This)->lpVtbl -> get_SizeMax(This,pVal)

#define IIviFgenArbitraryWaveform_get_SizeMin(This,pVal)	\
    (This)->lpVtbl -> get_SizeMin(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_Configure_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ LONG Handle,
    /* [in] */ DOUBLE Gain,
    /* [in] */ DOUBLE Offset);


void __RPC_STUB IIviFgenArbitraryWaveform_Configure_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_Clear_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [in] */ LONG Handle);


void __RPC_STUB IIviFgenArbitraryWaveform_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_Create_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [in] */ SAFEARRAY * *Data,
    /* [retval][out] */ LONG *Handle);


void __RPC_STUB IIviFgenArbitraryWaveform_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_put_Frequency_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenArbitraryWaveform_put_Frequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_get_Frequency_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenArbitraryWaveform_get_Frequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_get_NumberWaveformsMax_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitraryWaveform_get_NumberWaveformsMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_get_Quantum_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitraryWaveform_get_Quantum_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_get_SizeMax_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitraryWaveform_get_SizeMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitraryWaveform_get_SizeMin_Proxy( 
    IIviFgenArbitraryWaveform * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitraryWaveform_get_SizeMin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenArbitraryWaveform_INTERFACE_DEFINED__ */


#ifndef __IIviFgenArbitrarySequence_INTERFACE_DEFINED__
#define __IIviFgenArbitrarySequence_INTERFACE_DEFINED__

/* interface IIviFgenArbitrarySequence */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenArbitrarySequence;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed521e-a398-11d4-ba58-000064657374")
    IIviFgenArbitrarySequence : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Configure( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG Handle,
            /* [in] */ DOUBLE Gain,
            /* [in] */ DOUBLE Offset) = 0;
        
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Clear( 
            /* [in] */ LONG Handle) = 0;
        
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE Create( 
            /* [in] */ SAFEARRAY * *WfmHandle,
            /* [in] */ SAFEARRAY * *LoopCount,
            /* [retval][out] */ LONG *Handle) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LengthMax( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LengthMin( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LoopCountMax( 
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_NumberSequencesMax( 
            /* [retval][out] */ LONG *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenArbitrarySequenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenArbitrarySequence * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenArbitrarySequence * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenArbitrarySequence * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Configure )( 
            IIviFgenArbitrarySequence * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG Handle,
            /* [in] */ DOUBLE Gain,
            /* [in] */ DOUBLE Offset);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IIviFgenArbitrarySequence * This,
            /* [in] */ LONG Handle);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
            IIviFgenArbitrarySequence * This,
            /* [in] */ SAFEARRAY * *WfmHandle,
            /* [in] */ SAFEARRAY * *LoopCount,
            /* [retval][out] */ LONG *Handle);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LengthMax )( 
            IIviFgenArbitrarySequence * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LengthMin )( 
            IIviFgenArbitrarySequence * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoopCountMax )( 
            IIviFgenArbitrarySequence * This,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberSequencesMax )( 
            IIviFgenArbitrarySequence * This,
            /* [retval][out] */ LONG *pVal);
        
        END_INTERFACE
    } IIviFgenArbitrarySequenceVtbl;

    interface IIviFgenArbitrarySequence
    {
        CONST_VTBL struct IIviFgenArbitrarySequenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenArbitrarySequence_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenArbitrarySequence_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenArbitrarySequence_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenArbitrarySequence_Configure(This,ChannelName,Handle,Gain,Offset)	\
    (This)->lpVtbl -> Configure(This,ChannelName,Handle,Gain,Offset)

#define IIviFgenArbitrarySequence_Clear(This,Handle)	\
    (This)->lpVtbl -> Clear(This,Handle)

#define IIviFgenArbitrarySequence_Create(This,WfmHandle,LoopCount,Handle)	\
    (This)->lpVtbl -> Create(This,WfmHandle,LoopCount,Handle)

#define IIviFgenArbitrarySequence_get_LengthMax(This,pVal)	\
    (This)->lpVtbl -> get_LengthMax(This,pVal)

#define IIviFgenArbitrarySequence_get_LengthMin(This,pVal)	\
    (This)->lpVtbl -> get_LengthMin(This,pVal)

#define IIviFgenArbitrarySequence_get_LoopCountMax(This,pVal)	\
    (This)->lpVtbl -> get_LoopCountMax(This,pVal)

#define IIviFgenArbitrarySequence_get_NumberSequencesMax(This,pVal)	\
    (This)->lpVtbl -> get_NumberSequencesMax(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_Configure_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ LONG Handle,
    /* [in] */ DOUBLE Gain,
    /* [in] */ DOUBLE Offset);


void __RPC_STUB IIviFgenArbitrarySequence_Configure_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_Clear_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [in] */ LONG Handle);


void __RPC_STUB IIviFgenArbitrarySequence_Clear_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_Create_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [in] */ SAFEARRAY * *WfmHandle,
    /* [in] */ SAFEARRAY * *LoopCount,
    /* [retval][out] */ LONG *Handle);


void __RPC_STUB IIviFgenArbitrarySequence_Create_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_get_LengthMax_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitrarySequence_get_LengthMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_get_LengthMin_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitrarySequence_get_LengthMin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_get_LoopCountMax_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitrarySequence_get_LoopCountMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenArbitrarySequence_get_NumberSequencesMax_Proxy( 
    IIviFgenArbitrarySequence * This,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenArbitrarySequence_get_NumberSequencesMax_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenArbitrarySequence_INTERFACE_DEFINED__ */


#ifndef __IIviFgenTrigger_INTERFACE_DEFINED__
#define __IIviFgenTrigger_INTERFACE_DEFINED__

/* interface IIviFgenTrigger */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenTrigger;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed5220-a398-11d4-ba58-000064657374")
    IIviFgenTrigger : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE SendSoftwareTrigger( void) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BurstCount( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BurstCount( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ LONG *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalRate( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalRate( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Source( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenTriggerSourceEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenTriggerSourceEnum *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenTriggerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenTrigger * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenTrigger * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenTrigger * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *SendSoftwareTrigger )( 
            IIviFgenTrigger * This);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BurstCount )( 
            IIviFgenTrigger * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ LONG newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BurstCount )( 
            IIviFgenTrigger * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ LONG *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalRate )( 
            IIviFgenTrigger * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalRate )( 
            IIviFgenTrigger * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
            IIviFgenTrigger * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenTriggerSourceEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IIviFgenTrigger * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenTriggerSourceEnum *pVal);
        
        END_INTERFACE
    } IIviFgenTriggerVtbl;

    interface IIviFgenTrigger
    {
        CONST_VTBL struct IIviFgenTriggerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenTrigger_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenTrigger_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenTrigger_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenTrigger_SendSoftwareTrigger(This)	\
    (This)->lpVtbl -> SendSoftwareTrigger(This)

#define IIviFgenTrigger_put_BurstCount(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_BurstCount(This,ChannelName,newVal)

#define IIviFgenTrigger_get_BurstCount(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_BurstCount(This,ChannelName,pVal)

#define IIviFgenTrigger_put_InternalRate(This,newVal)	\
    (This)->lpVtbl -> put_InternalRate(This,newVal)

#define IIviFgenTrigger_get_InternalRate(This,pVal)	\
    (This)->lpVtbl -> get_InternalRate(This,pVal)

#define IIviFgenTrigger_put_Source(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Source(This,ChannelName,newVal)

#define IIviFgenTrigger_get_Source(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Source(This,ChannelName,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_SendSoftwareTrigger_Proxy( 
    IIviFgenTrigger * This);


void __RPC_STUB IIviFgenTrigger_SendSoftwareTrigger_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_put_BurstCount_Proxy( 
    IIviFgenTrigger * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ LONG newVal);


void __RPC_STUB IIviFgenTrigger_put_BurstCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_get_BurstCount_Proxy( 
    IIviFgenTrigger * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ LONG *pVal);


void __RPC_STUB IIviFgenTrigger_get_BurstCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_put_InternalRate_Proxy( 
    IIviFgenTrigger * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenTrigger_put_InternalRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_get_InternalRate_Proxy( 
    IIviFgenTrigger * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenTrigger_get_InternalRate_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_put_Source_Proxy( 
    IIviFgenTrigger * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenTriggerSourceEnum newVal);


void __RPC_STUB IIviFgenTrigger_put_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenTrigger_get_Source_Proxy( 
    IIviFgenTrigger * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ IviFgenTriggerSourceEnum *pVal);


void __RPC_STUB IIviFgenTrigger_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenTrigger_INTERFACE_DEFINED__ */


#ifndef __IIviFgenAM_INTERFACE_DEFINED__
#define __IIviFgenAM_INTERFACE_DEFINED__

/* interface IIviFgenAM */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenAM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed5221-a398-11d4-ba58-000064657374")
    IIviFgenAM : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE ConfigureInternal( 
            /* [in] */ DOUBLE Depth,
            /* [in] */ IviFgenAMInternalWaveformEnum Waveform,
            /* [in] */ DOUBLE Frequency) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Source( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenAMSourceEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenAMSourceEnum *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalDepth( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalDepth( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalFrequency( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalFrequency( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalWaveform( 
            /* [in] */ IviFgenAMInternalWaveformEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalWaveform( 
            /* [retval][out] */ IviFgenAMInternalWaveformEnum *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenAMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenAM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenAM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenAM * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConfigureInternal )( 
            IIviFgenAM * This,
            /* [in] */ DOUBLE Depth,
            /* [in] */ IviFgenAMInternalWaveformEnum Waveform,
            /* [in] */ DOUBLE Frequency);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IIviFgenAM * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IIviFgenAM * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
            IIviFgenAM * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenAMSourceEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IIviFgenAM * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenAMSourceEnum *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalDepth )( 
            IIviFgenAM * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalDepth )( 
            IIviFgenAM * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalFrequency )( 
            IIviFgenAM * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalFrequency )( 
            IIviFgenAM * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalWaveform )( 
            IIviFgenAM * This,
            /* [in] */ IviFgenAMInternalWaveformEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalWaveform )( 
            IIviFgenAM * This,
            /* [retval][out] */ IviFgenAMInternalWaveformEnum *pVal);
        
        END_INTERFACE
    } IIviFgenAMVtbl;

    interface IIviFgenAM
    {
        CONST_VTBL struct IIviFgenAMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenAM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenAM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenAM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenAM_ConfigureInternal(This,Depth,Waveform,Frequency)	\
    (This)->lpVtbl -> ConfigureInternal(This,Depth,Waveform,Frequency)

#define IIviFgenAM_put_Enabled(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Enabled(This,ChannelName,newVal)

#define IIviFgenAM_get_Enabled(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Enabled(This,ChannelName,pVal)

#define IIviFgenAM_put_Source(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Source(This,ChannelName,newVal)

#define IIviFgenAM_get_Source(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Source(This,ChannelName,pVal)

#define IIviFgenAM_put_InternalDepth(This,newVal)	\
    (This)->lpVtbl -> put_InternalDepth(This,newVal)

#define IIviFgenAM_get_InternalDepth(This,pVal)	\
    (This)->lpVtbl -> get_InternalDepth(This,pVal)

#define IIviFgenAM_put_InternalFrequency(This,newVal)	\
    (This)->lpVtbl -> put_InternalFrequency(This,newVal)

#define IIviFgenAM_get_InternalFrequency(This,pVal)	\
    (This)->lpVtbl -> get_InternalFrequency(This,pVal)

#define IIviFgenAM_put_InternalWaveform(This,newVal)	\
    (This)->lpVtbl -> put_InternalWaveform(This,newVal)

#define IIviFgenAM_get_InternalWaveform(This,pVal)	\
    (This)->lpVtbl -> get_InternalWaveform(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_ConfigureInternal_Proxy( 
    IIviFgenAM * This,
    /* [in] */ DOUBLE Depth,
    /* [in] */ IviFgenAMInternalWaveformEnum Waveform,
    /* [in] */ DOUBLE Frequency);


void __RPC_STUB IIviFgenAM_ConfigureInternal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_put_Enabled_Proxy( 
    IIviFgenAM * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IIviFgenAM_put_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_get_Enabled_Proxy( 
    IIviFgenAM * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IIviFgenAM_get_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_put_Source_Proxy( 
    IIviFgenAM * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenAMSourceEnum newVal);


void __RPC_STUB IIviFgenAM_put_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_get_Source_Proxy( 
    IIviFgenAM * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ IviFgenAMSourceEnum *pVal);


void __RPC_STUB IIviFgenAM_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_put_InternalDepth_Proxy( 
    IIviFgenAM * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenAM_put_InternalDepth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_get_InternalDepth_Proxy( 
    IIviFgenAM * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenAM_get_InternalDepth_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_put_InternalFrequency_Proxy( 
    IIviFgenAM * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenAM_put_InternalFrequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_get_InternalFrequency_Proxy( 
    IIviFgenAM * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenAM_get_InternalFrequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_put_InternalWaveform_Proxy( 
    IIviFgenAM * This,
    /* [in] */ IviFgenAMInternalWaveformEnum newVal);


void __RPC_STUB IIviFgenAM_put_InternalWaveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenAM_get_InternalWaveform_Proxy( 
    IIviFgenAM * This,
    /* [retval][out] */ IviFgenAMInternalWaveformEnum *pVal);


void __RPC_STUB IIviFgenAM_get_InternalWaveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenAM_INTERFACE_DEFINED__ */


#ifndef __IIviFgenFM_INTERFACE_DEFINED__
#define __IIviFgenFM_INTERFACE_DEFINED__

/* interface IIviFgenFM */
/* [unique][oleautomation][helpcontext][helpstring][uuid][object] */ 


EXTERN_C const IID IID_IIviFgenFM;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("47ed5222-a398-11d4-ba58-000064657374")
    IIviFgenFM : public IUnknown
    {
    public:
        virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE ConfigureInternal( 
            /* [in] */ DOUBLE Deviation,
            /* [in] */ IviFgenFMInternalWaveformEnum Waveform,
            /* [in] */ DOUBLE Frequency) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Source( 
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenFMSourceEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenFMSourceEnum *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalDeviation( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalDeviation( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalFrequency( 
            /* [in] */ DOUBLE newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalFrequency( 
            /* [retval][out] */ DOUBLE *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_InternalWaveform( 
            /* [in] */ IviFgenFMInternalWaveformEnum newVal) = 0;
        
        virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InternalWaveform( 
            /* [retval][out] */ IviFgenFMInternalWaveformEnum *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IIviFgenFMVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IIviFgenFM * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IIviFgenFM * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IIviFgenFM * This);
        
        /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE *ConfigureInternal )( 
            IIviFgenFM * This,
            /* [in] */ DOUBLE Deviation,
            /* [in] */ IviFgenFMInternalWaveformEnum Waveform,
            /* [in] */ DOUBLE Frequency);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enabled )( 
            IIviFgenFM * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enabled )( 
            IIviFgenFM * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Source )( 
            IIviFgenFM * This,
            /* [in] */ BSTR ChannelName,
            /* [in] */ IviFgenFMSourceEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            IIviFgenFM * This,
            /* [in] */ BSTR ChannelName,
            /* [retval][out] */ IviFgenFMSourceEnum *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalDeviation )( 
            IIviFgenFM * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalDeviation )( 
            IIviFgenFM * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalFrequency )( 
            IIviFgenFM * This,
            /* [in] */ DOUBLE newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalFrequency )( 
            IIviFgenFM * This,
            /* [retval][out] */ DOUBLE *pVal);
        
        /* [helpcontext][helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InternalWaveform )( 
            IIviFgenFM * This,
            /* [in] */ IviFgenFMInternalWaveformEnum newVal);
        
        /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InternalWaveform )( 
            IIviFgenFM * This,
            /* [retval][out] */ IviFgenFMInternalWaveformEnum *pVal);
        
        END_INTERFACE
    } IIviFgenFMVtbl;

    interface IIviFgenFM
    {
        CONST_VTBL struct IIviFgenFMVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IIviFgenFM_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IIviFgenFM_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IIviFgenFM_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IIviFgenFM_ConfigureInternal(This,Deviation,Waveform,Frequency)	\
    (This)->lpVtbl -> ConfigureInternal(This,Deviation,Waveform,Frequency)

#define IIviFgenFM_put_Enabled(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Enabled(This,ChannelName,newVal)

#define IIviFgenFM_get_Enabled(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Enabled(This,ChannelName,pVal)

#define IIviFgenFM_put_Source(This,ChannelName,newVal)	\
    (This)->lpVtbl -> put_Source(This,ChannelName,newVal)

#define IIviFgenFM_get_Source(This,ChannelName,pVal)	\
    (This)->lpVtbl -> get_Source(This,ChannelName,pVal)

#define IIviFgenFM_put_InternalDeviation(This,newVal)	\
    (This)->lpVtbl -> put_InternalDeviation(This,newVal)

#define IIviFgenFM_get_InternalDeviation(This,pVal)	\
    (This)->lpVtbl -> get_InternalDeviation(This,pVal)

#define IIviFgenFM_put_InternalFrequency(This,newVal)	\
    (This)->lpVtbl -> put_InternalFrequency(This,newVal)

#define IIviFgenFM_get_InternalFrequency(This,pVal)	\
    (This)->lpVtbl -> get_InternalFrequency(This,pVal)

#define IIviFgenFM_put_InternalWaveform(This,newVal)	\
    (This)->lpVtbl -> put_InternalWaveform(This,newVal)

#define IIviFgenFM_get_InternalWaveform(This,pVal)	\
    (This)->lpVtbl -> get_InternalWaveform(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_ConfigureInternal_Proxy( 
    IIviFgenFM * This,
    /* [in] */ DOUBLE Deviation,
    /* [in] */ IviFgenFMInternalWaveformEnum Waveform,
    /* [in] */ DOUBLE Frequency);


void __RPC_STUB IIviFgenFM_ConfigureInternal_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_put_Enabled_Proxy( 
    IIviFgenFM * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IIviFgenFM_put_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_get_Enabled_Proxy( 
    IIviFgenFM * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IIviFgenFM_get_Enabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_put_Source_Proxy( 
    IIviFgenFM * This,
    /* [in] */ BSTR ChannelName,
    /* [in] */ IviFgenFMSourceEnum newVal);


void __RPC_STUB IIviFgenFM_put_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_get_Source_Proxy( 
    IIviFgenFM * This,
    /* [in] */ BSTR ChannelName,
    /* [retval][out] */ IviFgenFMSourceEnum *pVal);


void __RPC_STUB IIviFgenFM_get_Source_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_put_InternalDeviation_Proxy( 
    IIviFgenFM * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenFM_put_InternalDeviation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_get_InternalDeviation_Proxy( 
    IIviFgenFM * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenFM_get_InternalDeviation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_put_InternalFrequency_Proxy( 
    IIviFgenFM * This,
    /* [in] */ DOUBLE newVal);


void __RPC_STUB IIviFgenFM_put_InternalFrequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_get_InternalFrequency_Proxy( 
    IIviFgenFM * This,
    /* [retval][out] */ DOUBLE *pVal);


void __RPC_STUB IIviFgenFM_get_InternalFrequency_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propput] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_put_InternalWaveform_Proxy( 
    IIviFgenFM * This,
    /* [in] */ IviFgenFMInternalWaveformEnum newVal);


void __RPC_STUB IIviFgenFM_put_InternalWaveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IIviFgenFM_get_InternalWaveform_Proxy( 
    IIviFgenFM * This,
    /* [retval][out] */ IviFgenFMInternalWaveformEnum *pVal);


void __RPC_STUB IIviFgenFM_get_InternalWaveform_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IIviFgenFM_INTERFACE_DEFINED__ */

#endif /* __IviFgenLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


